package com.bdqn.crm.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bdqn.crm.mapper.SysRightMapper;
import com.bdqn.crm.mapper.SysRoleMapper;
import com.bdqn.crm.mapper.SysUserMapper;
import com.bdqn.crm.mybatis.ServiceImpl;
import com.bdqn.crm.pojo.PageBean;
import com.bdqn.crm.pojo.Pagee;
import com.bdqn.crm.pojo.SysRight;
import com.bdqn.crm.pojo.SysRole;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
    @Resource
    private SysRoleMapper sysRoleMapper;
    @Resource
    private SysRightMapper sysRightMapper;
    @Override
    public List<SysRole> findAllRoles() {
        return sysRoleMapper.findAllRoles();
    }

    @Override
    public IPage<SysRole> page(String roleName, Page page) {
        return this.getRolePage(page,new SysRole(roleName));
    }

    @Override
    public SysRole selectRoleId(long roleId) {
        return sysRoleMapper.selectRoleId(roleId);
    }

    /**
     * 保存或修改用户（如果有主键ID则修改，没有则保存）
     *
     * @param role
     * @return
     */
    @Override
    public boolean saveRole(SysRole role) {
        return super.saveOrUpdate(role);
    }

//    @Override
//    public Pagee<SysRole> page(String roleName, Integer pageIndex) {
//        Pagee<SysRole> pageBean = new Pagee<>();
//
//        //数据库第几行开始查询
//        int startPage = (pageIndex-1) * pageBean.getPageCount();
//        //查询多少行数据,分页类里默认多上行
//        int selectPage = pageBean.getPageCount();
//
//        //获取maapper层的数据
//        List<SysRole> list = sysRoleMapper.listRole(roleName,startPage,selectPage);
//
//        QueryWrapper<SysRole> queryWrapper = new QueryWrapper<>();
//        Map map = new HashMap();
//        map.put("role_name",roleName);
//        queryWrapper.allEq(map,false);
//        //获取总数(mybatis-plus自带接口)
//        int citCount = sysRoleMapper.selectCount(queryWrapper);
//        pageBean.setNumber(pageIndex);
//
//        //设置查询的数据
//        pageBean.setContent(list);
//        //共多少行数据
//        pageBean.setTotalElements(citCount);
//        System.out.println("总记录数 ---- --> " + pageBean.getTotalElements());
//        System.out.println("总页数 ------ --> " + pageBean.getTotalPages());
//        System.out.println("当前页数 ----- -> " + pageBean.getNumber());
//        System.out.println("每页记录数 -----> " + pageBean.getPageCount());
//        System.out.println("当前记录： -----> ");
//
//        return pageBean;
//    }
}
